Gary Ernest Davis 在他的 So you want to be a data scientist? 一文中,以幾位目前比較有知名度的 Big Data 專家為例(Hilary Mason,Guy LeMar,Monica Rigati),列舉了要成為資料科學家所必須具備的技能。
首先,要能夠快速的操作與搬弄大量的資料,所以至少要會一種 scripting language (Perl,Python,或是新的 Julia language)。然後,要熟悉命令列的操作,Unix 環境與基本指令,並且會用各種 APIs。
作為資料分析的核心技術,對統計方法的深入理解也是必要的,像是探索式的資料分析(exploratory data analysis),各種回歸分析(regression,或是 loess regression)基礎的實驗設計(design an experiment)以及假設檢定(test a hypothesis)。作為統計學知識的一部份,在 R 或是 Python pandas 上流利的操作也是必須的,瞭解資料視覺化(data visualization)並且能夠設計並且測試演算法(design and test algorithms)在資料探勘(data mining)與機器學習(machine learning)上有充分的知識。而資料庫的程式撰寫,像是各種 SQL 的版本,也是必備的技能。
此外還有加分的技能,像是對各種問題的數值模擬(simulation), 解決方案 scale up 會用到的 Hadoop 和 Map Reduce,以及高效電腦叢集(High Performance Computer Cluster)的管理,會是資料逐漸走向巨量化的趨勢下,相當吃香的本事。最後,資料科學需要跟其他的 domain expert 合作,因此良好的溝通表達能力是相當重要的。
Charles Roe 在另一篇名字很相似的文章,So you want to be a Data Scientist? 當中,則是列舉了十一個資料科學家應該熟悉的領域:數學,統計分析,程式語言(Programming/Scripting Languages),關聯式資料庫,分散式計算以及相關工具(Distributed Computing Systems and Tools),資料探勘,資料模擬(Data Modeling),視覺化,創意與創新(Creativity and Innovation),溝通與商業頭腦(Communication and Business Perspicacity),以及教育。基本上跟前面的清單差異不大。
簡單的說,就是要有相當的程式設計功力,純熟的資訊系統操作技術,量化分析的本領,加上良好的溝通表達能力。這看起來似乎也不是目前某個單一學門可以訓練出來的特質,另外還有一些「如何組成資料科學團隊」的參考,就留待下一篇再說好了。
簡單的說,就是要有相當的程式設計功力,純熟的資訊系統操作技術,量化分析的本領,加上良好的溝通表達能力。這看起來似乎也不是目前某個單一學門可以訓練出來的特質,另外還有一些「如何組成資料科學團隊」的參考,就留待下一篇再說好了。
感覺要會好多東西,真的是不太好當><
回覆刪除統計分析跟實驗設計,這個部分在過去理學院的訓練非常多,現在大概只差 hadoop 跟 mapreduce 還不太熟,正在透過 aws ec2 練習。
回覆刪除